#include "self.h"
int main(int argc,char *argv[])
{
	signal(SIGINT,(sighandler_t)sigcat);
	char * ls[]={"/bin/ls","-a",NULL};
	char * ps[]={"/bin/ps","-l",NULL};
	int p1,p2;//
	p1=fork();//创建第一个子进程
	int s1,s2;
	if(p1==0)	//子进程执行代码段
	{
		pause();	//暂停
		s1=execve(ls[0],ls,NULL);	//运行ls命令
	}else
	{	
		p2=fork();	//创建第二个子进程
		if(p2>0)
		{
			waitpid(p2,&s2,0);	//等待子进程2运行完毕
			kill(p1,SIGINT);	//给子进程1发信号
			waitpid(p1,&s1,0);	//等待子进程1运行完毕
			exit(0);	//退出
		}
		if(p2==0)	//子进程执行代码段
		{
			s2=execve(ps[0],ps,NULL);	//运行ps命令
		}
	}
	return 0;
}
